*PRELIMINARIES

clear
clear matrix
clear mata

set maxvar 32767
set matsize 11000

capture log close
log using "brazil-study-log.txt", text replace

*put in your path
*cd "/Users/loaneruser/Downloads/"
cd  "/Users/d31713r/Dropbox (Personal)/Voter fraud 2020 study/Data/Brazil"

capture log close
log using "2023-brazil.txt", text replace

*requires installing cibar command and lean1 graph scheme
net describe cibar, from(http://fmwww.bc.edu/RePEc/bocode/c)
net install cibar.pkg

net describe gr0002, from(http://www.stata-journal.com/software/sj3-3)
net install gr0002.pkg

net describe vreverse, from(http://fmwww.bc.edu/RePEc/bocode/v)
net install vreverse.pkg

net sj 15-1 gr0059_1
net install gr0059_1.pkg

net describe st0085_2, from(http://www.stata-journal.com/software/sj14-2)
net install st0085_2.pkg, replace

net sj 18-1 st0279_2
net install st0279_2.pkg, replace

net sj 20-2 st0582_1
net install st0582_1.pkg, replace

clear
import excel using "ticket.xls", firstrow
rename br_socialclass_sr class

*change to str83 so it can merge (strL not allowed)
gen length_ticket = length(ticket)
summarize length_ticket, detail
gen str83 ticket_new = ticket

save "class.dta", replace

use "Brazil-data.dta", clear

*exclude anyone who didn't make it to the randomization
drop if FL_15_DO_FL_21==. & FL_15_DO_FL_22==. & FL_15_DO_FL_23==.

*drop duplicates 
duplicates report ticket
duplicates tag ticket, gen(duplicate)
bysort ticket: gen obsnum=_n
drop if obsnum==2

*change to str83 so it can merge (strL not allowed)
gen length_ticket = length(ticket)
summarize length_ticket, detail
gen str83 ticket_new = ticket

count
merge 1:1 ticket_new using "class.dta", keepusing(class)
tab _merge
tab class
drop if _merge==2
drop _merge
count
tab class

gen inoculation=(FL_15_DO_FL_21==1)
gen correction=(FL_15_DO_FL_22==1)
gen placebo=(FL_15_DO_FL_23==1)

*data exclusion

*from preregistration (https://osf.io/ynbxp?view_only=aa0118ef1ccc40d2a6887430348e452c): Data collection began on February 24, 2023 at 9:05 AM ET. Due to time constraints, it was not possible to finalize the preregistration prior to the beginning of data collection. One author therefore separately supervised the launch of the survey on Qualtrics and data collection. The other authors, who did not have access to the data, separately wrote the preregistration blind to the initial data. At the time that this preregistration was submitted (approximately 10:20 AM ET on February 27), 1042 responses had been collected. We will separately report all of the preregistered analyses below in the appendix with those initial responses excluded — in other words, reporting our findings only for data collected after the preregistration was filed. 

*using time not number of submissions
gen prior_submission=EndDate<tc(27feb2023 10:20:00)
tab prior_submission

*DEMOGRAPHICS/ATTITUDES/MODERATORS

gen male=(Q143==1)
tab male

gen agegroup=Q142
tab agegroup

/*Typo here: should be 55-64, 65+:

Q142 Quantos anos o(a) sr./sra. tem?
o	18-24  (1) 
o	25-34  (2) 
o	35-44  (3) 
o	45-54  (4) 
o	55-65  (5) 
o	65 ou mais  (6) 

*/

gen age1834=(agegroup<3) if agegroup!=.
gen age3544=(agegroup==3) if agegroup!=.
gen age4554=(agegroup==4) if agegroup!=.
gen age5564=(agegroup==5) if agegroup!=.
gen age65plus=(agegroup==6) if agegroup!=.

gen income=Q146
tab income

gen education=Q144
tab education 

gen college=.
replace college=0 if education<4
replace college=1 if education==4 | education==5
tab college

gen noncollege=abs(college-1) if college!=.

label def noncollegelab 0 "At least some college" 1 "No college"
label val noncollege noncollegelab

tab State
decode State, gen(state_name)
tab State

gen region = "" 

replace region = "North" if state_name == "Acre" | state_name == "Amapá" | state_name == "Amazonas" | state_name == "Pará" | state_name == "Rondônia" | state_name == "Roraima" | state_name == "Tocantins"
replace region = "Northeast" if state_name == "Alagoas" | state_name == "Bahia" | state_name == "Ceará" | state_name == "Maranhão" | state_name == "Paraíba" | state_name == "Pernambuco" | state_name == "Piauí" | state_name == "Rio Grande do Norte" | state_name == "Sergipe"
replace region = "Central-West" if state_name == "Distrito Federal" | state_name == "Goiás" | state_name == "Mato Grosso" | state_name == "Mato Grosso do Sul"
replace region = "Southeast" if state_name == "Espírito Santo" | state_name == "Minas Gerais" | state_name == "Rio de Janeiro" | state_name == "São Paulo"
replace region = "South" if state_name == "Paraná" | state_name == "Rio Grande do Sul" | state_name == "Santa Catarina"
tab region

egen regionnum=group(region)

gen city=Q3

gen urbanrural=Q5
tab urbanrural

gen race=Q141
tab race 

gen atleast45=(agegroup>3) if agegroup!=.

gen nonwhite=(race!=1) if race!=.
gen white=(race==1) if race!=.
tab white

gen cond=0
replace cond=1 if correction==1
replace cond=2 if inoculation==1

gen classAB=(class=="A" | class=="B1" | class=="B2") if class!=""

gen southeast=(region=="Southeast")

gen urban=(urbanrural==1) if urbanrural!=.
 
foreach var of varlist male atleast45 classAB college southeast urban white {
	tab `var'
	tab `var' cond, chi
}

*Political knowledge: Number of correct responses to 5 items (0-5)
gen polknow=(Q7==4)+(Q8==2)+(Q9==3)+(Q10==2)+(Q11==2)

gen lulaFT=Q124_1
gen PTFT=Q124_2
gen rightpartiesFT=Q124_3
gen bolsonaroFT=Q124_4
gen mediaFT=Q124_5
gen TSEFT=Q124_6
gen STFFT=Q124_7
gen indigpartiesFT=Q124_8

foreach var of varlist Q13_1-Q13_4 {
	vreverse `var', gen(`var'rev)
}

*(All means will be calculated as the mean of answered items. We will verify that these items scale as a composite measure using principal components factor analysis. If they do not scale together, we will analyze them separately (as separate composite measures and/or individual outcome measures). 

*Conspiracy predispositions: Mean of responses to 4 items (each measured 5=strongly agree to 1=strongly disagree):
egen conspiracy=rowmean(Q13_1rev-Q13_4rev)
factor Q13_1rev-Q13_4rev, pcf
su conspiracy

*Media and information trust: Mean of responses to four items
*How much, if at all, do you trust the information you get from …
*-National news organizations 
*-Local news organizations
*-Social media (such as Facebook, Twitter, and Instagram)
*-Political leaders in the federal government
*-Political leaders in government of <respondent state>

foreach var of varlist Q14_1-Q14_5 {
	replace `var'=. if `var'==5
	vreverse `var',gen(`var'rev)
}
egen mediatrust=rowmean(Q14_1rev-Q14_5rev)
factor Q14_1rev-Q14_5rev, pcf

*1 = Left, 10 = Right
gen ideo=Q125
replace ideo=. if ideo==11

gen ideo3=.
replace ideo3=1 if ideo<5
replace ideo3=2 if ideo==5
replace ideo3=3 if ideo>=6 & ideo<11

gen PTsupporter=(Q17==1) if Q16!=.
gen PLsupporter=(Q17==11) if Q16!=.
gen PSOLsupporter=(Q17==9) if Q16!=.

gen voted_first_round=(Q18==1) if Q18!=.
gen voted_second_round=(Q19==1) if Q18!=.

vreverse Q20, gen(polinterest)

replace Q21=. if Q21==6
vreverse Q21, gen(lula_approval)

*attention check passage
gen pass_attention_check1=(Q22_6==4 | Q22_6==5)
tab pass_attention_check1

*attention check passage
gen pass_attention_check2=(Q25_2==4 | Q25_2==5)
tab pass_attention_check2

*center and right more likely to say Lula is an emperor, don't use that one
bysort ideo: tab pass_attention_check2
reg pass_attention_check2 ideo, robust

cibar pass_attention_check2, over(ideo) graphopts(scheme(plotplain) ylabel(0(.2)1) yscale(r(0 1))) 

gen notleft=(ideo>=5 & ideo<=10)
bysort notleft: tab pass_attention_check2

*joint passage rate
tab pass_attention_check1 pass_attention_check2

*86% passage for attention check 1, which is not messed up

gen party3=.
replace party3=1 if PLsupporter==1
replace party3=2 if PTsupporter==1
replace party3=3 if PLsupporter==0 & PTsupporter==0
label def partylab 1 "PL supporter" 2 "PT supporter" 3 "Neither"
label val party3 partylab

dtable i.male i.agegroup i.noncollege i.nonwhite i.ideo3 i.party3, by(cond) export(study2-descriptives.tex, replace) fvlabel

*PRE-TREATMENT OUTCOMES

gen seats_22_pre=Q23
gen seats_26_pre=Q24

vreverse Q123, gen(conf_yrvote_2022_pre)
vreverse Q124, gen(conf_localvote_2022_pre)
vreverse Q125_0, gen(conf_statevote_2022_pre)
vreverse Q126, gen(conf_nationalvote_2022_pre)

*Confidence in 2022 election scale: Mean of responses to four items (each measured 4=very confident to 1=not at all confident)
egen confidence_22_pre=rowmean(conf_yrvote_2022_pre-conf_nationalvote_2022_pre)
factor conf_yrvote_2022_pre-conf_nationalvote_2022_pre, pcf

*note Brazil is One million or more (1) Hundreds of thousands (2) Tens of thousands (3) Thousands (4) Hundreds (5) Less than one hundred (6); US is 7=a million or more to 1=less than ten)

*Voting more than once in the same election
*Bypassing the electronic voting machine 
*Hack the voting machine 
*Impersonating someone else when voting 
*Vote despite not being a Brazilian citizen
*Having the right to vote impeded by polling station officials 

vreverse Q28_1, gen(vf22_doublevoting_pre)
vreverse Q28_2, gen(vf22_bypassmachine_pre)
vreverse Q28_3, gen(vf22_hackmachine_pre)
vreverse Q28_4, gen(vf22_voterimpers_pre)
vreverse Q28_5, gen(vf22_notcitizen_pre)
vreverse Q28_6, gen(vf22_officialinter_pre)

*Voter fraud in 2022 beliefs frequency scale: Mean of responses to six items (each measured 7=a million or more to 1=less than ten):
egen fraud_22_pre=rowmean(vf22_doublevoting_pre-vf22_officialinter_pre)
factor vf22_doublevoting_pre-vf22_officialinter_pre, pcf

vreverse Q132, gen(conf_yrvote_2026_pre)
vreverse Q133, gen(conf_localvote_2026_pre)
vreverse Q134, gen(conf_statevote_2026_pre)
vreverse Q135, gen(conf_nationalvote_2026_pre)

*Confidence in 2026 election scale: Mean of responses to four items (each measured 4=very confident to 1=not at all confident)
egen confidence_26_pre=rowmean(conf_yrvote_2026_pre-conf_nationalvote_2026_pre)
factor conf_yrvote_2026_pre-conf_nationalvote_2026_pre, pcf

vreverse Q29_1, gen(vf26_doublevoting_pre)
vreverse Q29_2, gen(vf26_bypassmachine_pre)
vreverse Q29_3, gen(vf26_hackmachine_pre)
vreverse Q29_4, gen(vf26_voterimpers_pre)
vreverse Q29_5, gen(vf26_notcitizen_pre)
vreverse Q29_6, gen(vf26_officialinter_pre)

*Voter fraud in 2026 beliefs frequency scale: Mean of responses to six items (each measured 7=a million or more to 1=less than ten):
egen fraud_26_pre=rowmean(vf26_doublevoting_pre-vf26_officialinter_pre)
factor vf26_doublevoting_pre-vf26_officialinter_pre, pcf

/*
Belief in false claims targeted by the prebunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate):
-Audits and investigations find evidence of fraud in Brazilian elections. (Q31_3)
-Vulnerabilities in election technology mean that elections have been hacked and hackers are able to change election results. (Q31_4)

(The following items are also included for exploratory analysis - false claims that were not targeted:
-Votes are regularly being cast on behalf of dead people. (Q31_1)
-Only Brazil uses an electronic voting machine.) (Q31_2)
 
Belief in true claims targeted by the prebunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate):
-Voting machine software is carefully tested and inspected to make sure it works correctly. (Q31_8)
-Poll workers cannot alter the software or hardware of voting machines. (Q31_7)
 
(The following items are also included for exploratory analysis - true claims that were not targeted:
-At the time of voting, it is strictly forbidden to use electronic devices (cell phones, tablets and cameras, for example) in the voting booth where the electronic ballot box is located. (Q31_5)
-Poll workers and members of the polling station and those responsible for monitoring the electoral process are prevented from wearing clothes or objects that feature propaganda for a political party, coalition or candidate.) (Q31_6)
*/

vreverse Q31_1, gen(non_targeted_false1_pre)
vreverse Q31_2, gen(non_targeted_false2_pre)
vreverse Q31_3, gen(targeted_false1_pre)
vreverse Q31_4, gen(targeted_false2_pre)
vreverse Q31_5, gen(non_targeted_true1_pre)
vreverse Q31_6, gen(non_targeted_true2_pre)
vreverse Q31_7, gen(targeted_true1_pre)
vreverse Q31_8, gen(targeted_true2_pre)

*Belief in false claims targeted by the prebunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate) NOTE: doesn't say mean*/
egen targeted_false_mean_pre=rowmean(targeted_false1_pre targeted_false2_pre)
factor targeted_false1_pre targeted_false2_pre, pcf
  
*Belief in true claims targeted by the prebunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate) NOTE: doesn't say mean*/
egen targeted_true_mean_pre=rowmean(targeted_true1_pre targeted_true2_pre)
factor targeted_true1_pre targeted_true2_pre, pcf

*Difference in belief in targeted true and false claims:
*-We will compute the difference in mean perceived accuracy of targeted true claims and mean perceived accuracy of targeted false claims at the respondent level. (As discussed below, we will also consider the ratio of perceived accuracy - i.e., mean targeted true/mean targeted false.)
gen diff_targeted_pre=targeted_true_mean_pre-targeted_false_mean_pre
gen ratio_targeted_pre=targeted_true_mean_pre/targeted_false_mean_pre

gen inoculation_attention1_try1=Q35
gen inoculation_attention1_try2=Q37
gen inoculation_attention1_try3=Q39

gen inoculation_attention2_try1=Q41
gen inoculation_attention2_try2=Q44
gen inoculation_attention2_try3=Q46

gen inoculation_attention3_try1=Q48
gen inoculation_attention3_try2=Q50
gen inoculation_attention3_try3=Q52

gen inoculation_attention4_try1=Q54
gen inoculation_attention4_try2=Q56
gen inoculation_attention4_try3=Q58

gen correction_attention1_try1=Q62
gen correction_attention1_try2=Q61
gen correction_attention1_try3=Q63

gen correction_attention2_try1=Q65
gen correction_attention2_try2=Q67
gen correction_attention2_try3=Q69

gen correction_attention3_try1=Q71
gen correction_attention3_try2=Q73
gen correction_attention3_try3=Q75

gen correction_attention4_try1=Q77
gen correction_attention4_try2=Q80
gen correction_attention4_try3=Q82

gen placebo_attention1_try1=Q87
gen placebo_attention1_try2=Q89
gen placebo_attention1_try3=Q91

gen placebo_attention2_try1=Q93
gen placebo_attention2_try2=Q95
gen placebo_attention2_try3=Q97

gen placebo_attention3_try1=Q99
gen placebo_attention3_try2=Q101
gen placebo_attention3_try3=Q103

gen placebo_attention4_try1=Q108
gen placebo_attention4_try2=Q110
gen placebo_attention4_try3=Q112

*POST-TREATMENT OUTCOMES

vreverse Q128, gen(conf_yrvote_2022_post)
vreverse Q129, gen(conf_localvote_2022_post)
vreverse Q130, gen(conf_statevote_2022_post)
vreverse Q131, gen(conf_nationalvote_2022_post)

egen confidence_22_post=rowmean(conf_yrvote_2022_post-conf_nationalvote_2022_post)
factor conf_yrvote_2022_post-conf_nationalvote_2022_post, pcf

*note Brazil is One million or more (1) Hundreds of thousands (2) Tens of thousands (3) Thousands (4) Hundreds (5) Less than one hundred (6); US is 7=a million or more to 1=less than ten)

*Voting more than once in the same election
*Bypassing the electronic voting machine 
*Hack the voting machine 
*Impersonating someone else when voting 
*Vote despite not being a Brazilian citizen
*Having the right to vote impeded by polling station officials 

vreverse Q116_1, gen(vf22_doublevoting_post)
vreverse Q116_2, gen(vf22_bypassmachine_post)
vreverse Q116_3, gen(vf22_hackmachine_post)
vreverse Q116_4, gen(vf22_voterimpers_post)
vreverse Q116_5, gen(vf22_notcitizen_post)
vreverse Q116_6, gen(vf22_officialinter_post)

egen fraud_22_post=rowmean(vf22_doublevoting_post-vf22_officialinter_post)
factor vf22_doublevoting_post-vf22_officialinter_post, pcf

gen seats_22_post=Q120

vreverse Q137, gen(conf_yrvote_2026_post)
vreverse Q138, gen(conf_localvote_2026_post)
vreverse Q139, gen(conf_statevote_2026_post)
vreverse Q140, gen(conf_nationalvote_2026_post)

egen confidence_26_post=rowmean(conf_yrvote_2026_post-conf_nationalvote_2026_post)
factor conf_yrvote_2026_post-conf_nationalvote_2026_post, pcf

vreverse Q118_1, gen(vf26_doublevoting_post)
vreverse Q118_2, gen(vf26_bypassmachine_post)
vreverse Q118_3, gen(vf26_hackmachine_post)
vreverse Q118_4, gen(vf26_voterimpers_post)
vreverse Q118_5, gen(vf26_notcitizen_post)
vreverse Q118_6, gen(vf26_officialinter_post)

egen fraud_26_post=rowmean(vf26_doublevoting_post-vf26_officialinter_post)
factor vf26_doublevoting_post-vf26_officialinter_post, pcf

gen seats_26_post=Q121

/*
Belief in false claims targeted by the prebunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate):
-Audits and investigations find evidence of fraud in Brazilian elections. (Q31_3)
-Vulnerabilities in election technology mean that elections have been hacked and hackers are able to change election results. (Q31_4)

(The following items are also included for exploratory analysis - false claims that were not targeted:
-Votes are regularly being cast on behalf of dead people. (Q31_1)
-Only Brazil uses an electronic voting machine.) (Q31_2)
 
Belief in true claims targeted by the prebunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate):
-Voting machine software is carefully tested and inspected to make sure it works correctly. (Q31_8)
-Poll workers cannot alter the software or hardware of voting machines. (Q31_7)
 
(The following items are also included for exploratory analysis - true claims that were not targeted:
-At the time of voting, it is strictly forbidden to use electronic devices (cell phones, tablets and cameras, for example) in the voting booth where the electronic ballot box is located. (Q31_5)
-Poll workers and members of the polling station and those responsible for monitoring the electoral process are prevented from wearing clothes or objects that feature propaganda for a political party, coalition or candidate.) (Q31_6)
*/

vreverse Q119_1, gen(non_targeted_false1_post)
vreverse Q119_2, gen(non_targeted_false2_post)
vreverse Q119_3, gen(targeted_false1_post)
vreverse Q119_4, gen(targeted_false2_post)
vreverse Q119_5, gen(non_targeted_true1_post)
vreverse Q119_6, gen(non_targeted_true2_post)
vreverse Q119_7, gen(targeted_true1_post)
vreverse Q119_8, gen(targeted_true2_post)

*Belief in false claims targeted by the postbunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate) NOTE: doesn't say mean*/
egen targeted_false_mean_post=rowmean(targeted_false1_post targeted_false2_post)
factor targeted_false1_post targeted_false2_post, pcf
  
*Belief in true claims targeted by the postbunking facts correction (each measured on a scale from 1=not at all accurate to 4=very accurate) NOTE: doesn't say mean*/
egen targeted_true_mean_post=rowmean(targeted_true1_post targeted_true2_post)
factor targeted_true1_post targeted_true2_post, pcf

*Difference in belief in targeted true and false claims:
*-We will compute the difference in mean perceived accuracy of targeted true claims and mean perceived accuracy of targeted false claims at the respondent level. (As discussed below, we will also consider the ratio of perceived accuracy - i.e., mean targeted true/mean targeted false.)
gen diff_targeted_post=targeted_true_mean_post-targeted_false_mean_post
gen ratio_targeted_post=targeted_true_mean_post/targeted_false_mean_post

gen trolling=Q117

gen look_up_info=(Q118==1) if Q118!=.

*check for attrition within wave

su confidence_22_post confidence_26_post fraud_22_post fraud_26_post seats_22_post seats_26_post targeted_true_mean_post targeted_true_mean_post diff_targeted_post

codebook confidence_22_post confidence_26_post fraud_22_post fraud_26_post seats_22_post seats_26_post targeted_true_mean_post targeted_true_mean_post diff_targeted_post

foreach var of varlist confidence_22_post confidence_26_post fraud_22_post fraud_26_post seats_22_post seats_26_post targeted_true_mean_post targeted_false_mean_post diff_targeted_post {
	su `var'
	gen nm`var'=(`var'!=.)
	reg nm`var' correction inoculation
	est store mod`var'
}

estout mod* using "f-tests.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(F p N, fmt(%9.3f %9.3f %9.0g) labels("F" "p" "N")) starlevels(* 0.05 ** 0.01 *** .005) 
ddd


*ANALYSIS

/*Primary hypotheses and research questions will be tested using OLS regression with robust standard errors. (For transparency, we will also report unadjusted differences in means.)
We will use a lasso variable selection procedure to determine the set of prognostic covariates to include in each model (i.e., separately for each DV). If one or more levels (e.g., "Northeast") are selected from a factor variable, we will include only the selected level(s) in the model. The following is the set of candidate variables that we will select from (as measured in pre-treatment data or in YouGov profile variables):
Education (college vs. non-college)
Age group (18-34, 35-44, 45-54, 55-64, 65+)
Male (1/0)
Region (North, Northeast, Central-West, Southeast, South)
PT identification (1/0)
PL identification (1/0)
Ideological self-placement (ten-point)
Conspiracy predispositions (mean: 1-5)
Knowledge (total correct answers: 0-5)
Nonwhite (1/0)
Interest in politics (1-4)
Media trust (continuous index measure)
Seats changed in 2022 (1-4)
Seats changed in 2026 (1-4)
Fraud prevalence 2022 (mean: 1-7)
Fraud prevalence 2026 (mean: 1-7)
Confidence in 2022 election (mean: 1-4)
Confidence in 2026 election (mean: 1-4)
Feelings toward Lula da Silva (0-100)
Feelings toward Jair Bolsonaro (0-100)
Feelings toward Partido dos Trabalhadores (PT)  (0-100)
Feelings toward Partidos de direita (0-100)
Feelings toward news media (0-100)
Feelings toward election officials (0-100)
Feelings toward white people (0-100)
Feelings toward Black people (0-100)*/

/*DEVIATION: white/black people feelings not included*/

/*DEVIATIONS: exclude ideo and FTs due to non-response*/

tab ideo, missing
su ideo lulaFT bolsonaroFT PTFT rightpartiesFT mediaFT TSEFT

/*we will conduct exploratory analyses of potential heterogeneous treatment effects for the following moderators for the models used to test H1-H3, RQ1-RQ3, and RQ5a/RQ5b:

If results are consistent using a median/tercile split or indicators rather than a continuous scale, we may present the latter in the main text for ease of exposition and include the continuous scale results in an appendix. We will also use tercile indicators to test whether a linearity assumption holds for any interactions with continuous moderators per Hainmueller et al (2019) and replace any continuous interactions in our models with them if it does not.*/

xtile conf22terc=confidence_22_pre, nq(3) 
xtile fraud22terc=fraud_22_pre, nq(3) 
xtile conf26terc=confidence_26_pre, nq(3) 
xtile fraud26terc=fraud_26_pre, nq(3) 
xtile bolsterc=bolsonaroFT, nq(3)
xtile trueterc=targeted_true_mean_pre, nq(3)
xtile falseterc=targeted_false_mean_pre, nq(3)
xtile diffterc=diff_targeted_pre, nq(3)
xtile ratioterc=ratio_targeted_pre, nq(3)

/*-Party identification (indicators for PT and PL)
-Bolsonaro feeling thermometer (0-100)
-Pre-treatment measure of the outcome variable
Confidence in 2022 vote = B0 + B1*correction + B2*prebunk + B3*moderator + B4*correctionXmoderator + B5*prebunkXmoderator + lasso controls
2022 fraud prevalence = B0 + B1*correction + B2*prebunk + B3*moderator + B4*correctionXmoderator + B5*prebunkXmoderator + lasso controls
Seats changed in 2022 = B0 + B1*correction + B2*prebunk + B3*moderator + B4*correctionXmoderator + B5*prebunkXmoderator + lasso controls
Confidence in 2026 vote = B0 + B1*correction + B2*prebunk + B3*moderator + B4*correctionXmoderator + B5*prebunkXmoderator + lasso controls
2026 fraud prevalence = B0 + B1*correction + B2*prebunk + B3*moderator + B4*correctionXmoderator + B5*prebunkXmoderator + lasso controls
Seats changed in 2026 = B0 + B1*correction + B2*prebunk + B3*moderator + B4*correctionXmoderator + B5*prebunkXmoderator + lasso controls
Targeted true = B0 + B1*prebunk + B2*correction + B3*moderator + B4*prebunkXmoderator + B5*correctionXmoderator + lasso controls
Targeted false = B0 + B1*prebunk + B2*correction + B3*moderator + B4*prebunkXmoderator + B5*correctionXmoderator + lasso controls
Mean true - mean false = B0 + B1*prebunk + B2*correction + B3*moderator + B4*prebunkXmoderator + B5*correctionXmoderator + lasso controls*/

/*H1: Exposure to a credible source correction treatment about the prevalence of voter fraud in the 2022 election (compared to a placebo condition) will increase confidence in the 2022 election and reduce beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2022 election.*/

/*RQ5a: Is there a difference between the effects of the credible source correction and prebunking facts correction with inoculation instructions treatments on confidence in the 2022 election or beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2022 election?*/

/*RQ5b: Is there a difference between the effects of the credible source correction and prebunking facts correction with inoculation instructions treatments on confidence in the 2026 election or beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2026 election?*/

/*H1/H2: Confidence in 2022 vote = B0 + B1*correction + B2*prebunk + lasso controls
    RQ5a: B1-B2*/
	
quietly lasso linear confidence_22_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local confidence_22_post_ctl=e(allvars_sel) 
reg confidence_22_post correction inoculation `confidence_22_post_ctl', robust
est store confidence_22_post
lincom correction
lincom inoculation
lincom correction-inoculation

reg confidence_22_post correction inoculation confidence_22_pre, robust
lincom correction-inoculation
est store confidence_22_post_ldv
reg confidence_22_post correction inoculation, robust
lincom correction-inoculation
est store confidence_22_post_noc

reg confidence_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `confidence_22_post_ctl', robust
est store A
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg confidence_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter confidence_22_pre, robust
est store A_ldv

reg confidence_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store A_noc

reg confidence_22_post correction##c.confidence_22_pre inoculation##c.confidence_22_pre `confidence_22_post_ctl', robust
reg confidence_22_post correction##ib3.conf22terc inoculation##conf22terc `confidence_22_post_ctl', robust
est store A3

reg confidence_22_post correction##ib3.conf22terc inoculation##conf22terc, robust
est store A3_noc

reg confidence_22_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `confidence_22_post_ctl', robust
reg confidence_22_post correction##ib1.bolsterc inoculation##bolsterc `confidence_22_post_ctl', robust
est store A2

reg confidence_22_post correction##ib1.bolsterc inoculation##bolsterc confidence_22_pre, robust
est store A2_ldv

reg confidence_22_post correction##ib1.bolsterc inoculation##bolsterc, robust
est store A2_noc

reg confidence_22_post correction##pass_attention_check1 inoculation##pass_attention_check1 `confidence_22_post_ctl', robust
est store attmod3

quietly lasso linear confidence_22_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)

reg confidence_22_post correction inoculation `confidence_22_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store confidence_22_post_de

reg confidence_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `confidence_22_post_ctl' if prior_submission==0, robust
est store A_de

reg confidence_22_post correction##c.confidence_22_pre inoculation##c.confidence_22_pre `confidence_22_post_ctl' if prior_submission==0, robust
reg confidence_22_post correction##ib3.conf22terc inoculation##conf22terc `confidence_22_post_ctl' if prior_submission==0, robust
est store A3_de
reg confidence_22_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `confidence_22_post_ctl' if prior_submission==0, robust
reg confidence_22_post correction##ib1.bolsterc inoculation##bolsterc `confidence_22_post_ctl' if prior_submission==0, robust
est store A2_de

/*H1/H2: 2022 fraud prevalence = B0 + B1*correction + B2*prebunk + lasso controls
    RQ5a: B1-B2*/

quietly lasso linear fraud_22_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local fraud_22_post_ctl=e(allvars_sel) 
reg fraud_22_post correction inoculation `fraud_22_post_ctl', robust
est store fraud_22_post
lincom correction
lincom inoculation
lincom correction-inoculation

reg fraud_22_post correction inoculation fraud_22_pre, robust
est store fraud_22_post_ldv
lincom correction-inoculation

reg fraud_22_post correction inoculation, robust
est store fraud_22_post_noc
lincom correction-inoculation
		
reg fraud_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `fraud_22_post_ctl', robust
est store C
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg fraud_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter fraud_22_pre, robust
est store C_ldv

reg fraud_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store C_noc

reg fraud_22_post correction##c.fraud_22_pre inoculation##c.fraud_22_pre `fraud_22_post_ctl', robust
reg fraud_22_post correction##ib1.fraud22terc inoculation##fraud22terc `fraud_22_post_ctl', robust
est store C3

reg fraud_22_post correction##ib1.fraud22terc inoculation##fraud22terc, robust
est store C3_noc

reg fraud_22_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `fraud_22_post_ctl', robust
reg fraud_22_post correction##ib1.bolsterc inoculation##bolsterc `fraud_22_post_ctl', robust
est store C2

reg fraud_22_post correction##ib1.bolsterc inoculation##bolsterc fraud_22_pre, robust
est store C2_ldv

reg fraud_22_post correction##ib1.bolsterc inoculation##bolsterc, robust
est store C2_noc

quietly lasso linear fraud_22_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local fraud_22_post_ctl=e(allvars_sel) 
reg fraud_22_post correction inoculation `fraud_22_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store fraud_22_post_de

reg fraud_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `fraud_22_post_ctl'  if prior_submission==0, robust
est store C_de

reg fraud_22_post correction##c.fraud_22_pre inoculation##c.fraud_22_pre `fraud_22_post_ctl' if prior_submission==0, robust
reg fraud_22_post correction##ib1.fraud22terc inoculation##fraud22terc `fraud_22_post_ctl' if prior_submission==0, robust
est store C3_de
reg fraud_22_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `fraud_22_post_ctl' if prior_submission==0, robust
reg fraud_22_post correction##ib1.bolsterc inoculation##bolsterc `fraud_22_post_ctl' if prior_submission==0, robust
est store C2_de
	
/*H1/H2: Seats changed in 2022 = B0 + B1*correction + B2*prebunk + lasso controls
    RQ5a: B1-B2*/

quietly lasso linear seats_22_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local seats_22_post_ctl=e(allvars_sel) 
reg seats_22_post correction inoculation `seats_22_post_ctl', robust
est store seats_22_post
lincom correction
lincom inoculation
lincom correction-inoculation

reg seats_22_post correction inoculation seats_22_pre, robust
est store seats_22_post_ldv
lincom correction-inoculation

reg seats_22_post correction inoculation, robust
est store seats_22_post_noc
lincom correction-inoculation

reg seats_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `seats_22_post_ctl', robust
est store E
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg seats_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter seats_22_pre, robust
est store E_ldv

reg seats_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store E_noc

xtile seats2022quintile=seats_22_pre, nq(3)

reg seats_22_post correction##c.seats2022quintile inoculation##c.seats2022quintile `seats_22_post_ctl', robust
reg seats_22_post correction##ib1.seats2022quintile inoculation##i.seats2022quintile `seats_22_post_ctl', robust
est store E3

reg seats_22_post correction##ib1.seats2022quintile inoculation##i.seats2022quintile, robust
est store E3_noc

reg seats_22_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `seats_22_post_ctl', robust
reg seats_22_post correction##ib1.bolsterc inoculation##bolsterc `seats_22_post_ctl', robust
est store E2

reg seats_22_post correction##ib1.bolsterc inoculation##bolsterc seats_22_pre, robust
est store E2_ldv

reg seats_22_post correction##ib1.bolsterc inoculation##bolsterc, robust
est store E2_noc

quietly lasso linear seats_22_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local seats_22_post_ctl=e(allvars_sel) 
reg seats_22_post correction inoculation `seats_22_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store seats_22_post_de

reg seats_22_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `seats_22_post_ctl' if prior_submission==0, robust
est store E_de

reg seats_22_post correction##c.seats2022quintile inoculation##c.seats2022quintile `seats_22_post_ctl' if prior_submission==0, robust
reg seats_22_post correction##ib1.seats2022quintile inoculation##i.seats2022quintile `seats_22_post_ctl' if prior_submission==0, robust
est store E3_de
reg seats_22_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `seats_22_post_ctl' if prior_submission==0, robust
reg seats_22_post correction##ib1.bolsterc inoculation##bolsterc `seats_22_post_ctl' if prior_submission==0, robust
est store E2_de
	
/*H2: Exposure to a prebunking facts correction with inoculation instructions treatment will increase confidence in the 2022 and 2026 elections and reduce beliefs about the prevalence and effects of fraud (frequency of voter fraud and the number of seats changed by fraud) in the 2022 and 2026 elections compared to the placebo condition*/

/*RQ1: Will exposure to a credible source correction treatment (compared to a placebo condition) increase confidence in the 2026 election and reduce beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2026 election?*/

/*H2/RQ1: Confidence in 2026 vote = B0 + B1*correction + B2*prebunk + lasso controls
    RQ5b: B1-B2*/
	
quietly lasso linear confidence_26_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local confidence_26_post_ctl=e(allvars_sel) 
reg confidence_26_post correction inoculation `confidence_26_post_ctl', robust
est store confidence_26_post
lincom correction
lincom inoculation
lincom correction-inoculation

reg confidence_26_post correction inoculation confidence_22_pre, robust
lincom correction-inoculation
est store confidence_26_post_ldv
reg confidence_26_post correction inoculation, robust
lincom correction-inoculation
est store confidence_26_post_noc

reg confidence_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `confidence_26_post_ctl', robust
est store B
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg confidence_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter confidence_26_pre, robust
est store B_ldv

reg confidence_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store B_noc

reg confidence_26_post correction##c.confidence_26_pre inoculation##c.confidence_26_pre `confidence_26_post_ctl', robust
reg confidence_26_post correction##ib3.conf26terc inoculation##conf26terc `confidence_26_post_ctl', robust
est store B3

reg confidence_26_post correction##ib3.conf26terc inoculation##conf26terc, robust
est store B3_noc

reg confidence_26_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `confidence_26_post_ctl', robust
reg confidence_26_post correction##ib1.bolsterc inoculation##bolsterc `confidence_26_post_ctl', robust
est store B2

reg confidence_26_post correction##ib1.bolsterc inoculation##bolsterc confidence_26_pre, robust
est store B2_ldv

reg confidence_26_post correction##ib1.bolsterc inoculation##bolsterc, robust
est store B2_noc

quietly lasso linear confidence_26_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local confidence_26_post_ctl=e(allvars_sel) 
reg confidence_26_post correction inoculation `confidence_26_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store confidence_26_post_de

reg confidence_26_post correction##pass_attention_check1 inoculation##pass_attention_check1 `confidence_26_post_ctl', robust
est store attmod4

estout attmod3 attmod4 using "brazil-attention-interactions.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

reg confidence_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `confidence_26_post_ctl' if prior_submission==0, robust
est store B_de

reg confidence_26_post correction##c.confidence_26_pre inoculation##c.confidence_26_pre `confidence_26_post_ctl' if prior_submission==0, robust
reg confidence_26_post correction##ib3.conf26terc inoculation##conf26terc `confidence_26_post_ctl' if prior_submission==0, robust
est store B3_de
reg confidence_26_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `confidence_26_post_ctl' if prior_submission==0, robust
reg confidence_26_post correction##ib1.bolsterc inoculation##bolsterc `confidence_26_post_ctl' if prior_submission==0, robust
est store B2_de
	
/*H2/RQ1: 2026 fraud prevalence = B0 + B1*correction + B2*prebunk + lasso controls (TYPO THIS SAID H1/RQ1 ORIGINALLY)
    RQ5b: B1-B2*/
	
quietly lasso linear fraud_26_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local fraud_26_post_ctl=e(allvars_sel) 
reg fraud_26_post correction inoculation `fraud_26_post_ctl', robust
est store fraud_26_post
lincom correction
lincom inoculation
lincom correction-inoculation

reg fraud_26_post correction inoculation fraud_26_pre, robust
est store fraud_26_post_ldv
lincom correction-inoculation

reg fraud_26_post correction inoculation, robust
est store fraud_26_post_noc
lincom correction-inoculation

reg fraud_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `fraud_26_post_ctl', robust
est store D
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg fraud_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter fraud_26_pre, robust
est store D_ldv

reg fraud_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store D_noc

reg fraud_26_post correction##c.fraud_26_pre inoculation##c.fraud_26_pre `fraud_26_post_ctl', robust
reg fraud_26_post correction##ib1.fraud26terc inoculation##fraud26terc `fraud_26_post_ctl', robust
est store D3

reg fraud_26_post correction##ib1.fraud26terc inoculation##fraud26terc, robust
est store D3_noc

reg fraud_26_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `fraud_26_post_ctl', robust
reg fraud_26_post correction##ib1.bolsterc inoculation##bolsterc `fraud_26_post_ctl', robust
est store D2

reg fraud_26_post correction##ib1.bolsterc inoculation##bolsterc fraud_26_pre, robust
est store D2_ldv

reg fraud_26_post correction##ib1.bolsterc inoculation##bolsterc, robust
est store D2_noc

quietly lasso linear fraud_26_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local fraud_26_post_ctl=e(allvars_sel) 
reg fraud_26_post correction inoculation `fraud_26_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store fraud_26_post_de
	
reg fraud_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `fraud_26_post_ctl' if prior_submission==0, robust
est store D_de

reg fraud_26_post correction##c.fraud_26_pre inoculation##c.fraud_26_pre `fraud_26_post_ctl' if prior_submission==0, robust
reg fraud_26_post correction##ib1.fraud26terc inoculation##fraud26terc `fraud_26_post_ctl' if prior_submission==0, robust
est store D3_de
reg fraud_26_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `fraud_26_post_ctl' if prior_submission==0, robust
reg fraud_26_post correction##ib1.bolsterc inoculation##bolsterc `fraud_26_post_ctl' if prior_submission==0, robust
est store D2_de
	
/*H2/RQ1: Seats changed in 2026 = B0 + B1*correction + B2*prebunk + lasso controls (TYPO THIS SAID H1/RQ1 ORIGINALLY)
    RQ5b: B1-B2*/

quietly lasso linear seats_26_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local seats_26_post_ctl=e(allvars_sel) 
reg seats_26_post correction inoculation `seats_26_post_ctl', robust
est store seats_26_post
lincom correction
lincom inoculation
lincom correction-inoculation

reg seats_26_post correction inoculation seats_26_pre, robust
est store seats_26_post_ldv
lincom correction-inoculation

reg seats_26_post correction inoculation, robust
est store seats_26_post_noc
lincom correction-inoculation

reg seats_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `seats_26_post_ctl', robust
est store F
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg seats_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter seats_26_pre, robust
est store F_ldv

reg seats_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store F_noc

xtile seats2026quintile=seats_26_pre, nq(3)

reg seats_26_post correction##c.seats2026quintile inoculation##c.seats2026quintile `seats_26_post_ctl', robust
reg seats_26_post correction##ib1.seats2026quintile inoculation##i.seats2026quintile `seats_26_post_ctl', robust
est store F3

reg seats_26_post correction##ib1.seats2026quintile inoculation##i.seats2026quintile, robust
est store F3_noc

reg seats_26_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `seats_26_post_ctl', robust
reg seats_26_post correction##ib1.bolsterc inoculation##bolsterc `seats_26_post_ctl', robust
est store F2

reg seats_26_post correction##ib1.bolsterc inoculation##bolsterc seats_26_pre, robust
est store F2_ldv

reg seats_26_post correction##ib1.bolsterc inoculation##bolsterc, robust
est store F2_noc

quietly lasso linear seats_26_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local seats_26_post_ctl=e(allvars_sel) 
reg seats_26_post correction inoculation `seats_26_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store seats_26_post_de

reg seats_26_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `seats_26_post_ctl' if prior_submission==0, robust
est store F_de

reg seats_26_post correction##c.seats2026quintile inoculation##c.seats2026quintile `seats_26_post_ctl' if prior_submission==0, robust
reg seats_26_post correction##ib1.seats2026quintile inoculation##i.seats2026quintile `seats_26_post_ctl' if prior_submission==0, robust
est store F3_de
reg seats_26_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `seats_26_post_ctl' if prior_submission==0, robust
reg seats_26_post correction##ib1.bolsterc inoculation##bolsterc `seats_26_post_ctl' if prior_submission==0, robust
est store F2_de

estout A B C D E F using "brazil-party-interactions.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A A_ldv A_noc B B_ldv B_noc C C_ldv C_noc D D_ldv D_noc using "brazil-party-interactions-covar1.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout E E_ldv E_noc F F_ldv F_noc using "brazil-party-interactions-covar2.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005)

estout A_de B_de C_de D_de E_de F_de using "brazil-party-interactions-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 
	
estout A2 B2 C2 D2 E2 F2 using "brazil-bolsonaro-interactions.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A2 A2_ldv A2_noc B2 B2_ldv B2_noc C2 C2_ldv C2_noc D2 D2_ldv D2_noc using "brazil-bolsonaro-interactions1.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout E2 E2_ldv E2_noc F2 F2_ldv F2_noc using "brazil-bolsonaro-interactions2.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A2_de B2_de C2_de D2_de E2_de F2_de using "brazil-bolsonaro-interactions-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A3 B3 C3 D3 E3 F3 using "brazil-outcome-interactions.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A3 A3_noc B3 B3_noc C3 C3_noc D3 D3_noc E3 E3_noc F3 F3_noc using "brazil-outcome-interactions1.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 
	
estout A3_de B3_de C3_de D3_de E3_de F3_de using "brazil-outcome-interactions-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

coefplot (confidence_22_post, rename(correction="confidence_22_post")) (confidence_26_post, rename(correction="confidence_26_post")) (fraud_22_post, rename(correction="fraud_22_post")) (fraud_26_post, rename(correction="fraud_26_post")) (seats_22_post, rename(correction="seats_22_post")) (seats_26_post, rename(correction="seats_26_post")), keep(correction) grid(none) xline(0) scheme(lean1) xtitle("Treatment effect") coeflabel(confidence_22_post = `" "Confidence in" "2022 election" "' confidence_26_post = `" "Confidence in" "2026 election" "' fraud_22_post = `" "Fraud in" "2022 election" "' fraud_26_post = `" "Fraud in" "2026 election" "' seats_22_post =  `" "Seats won by" "fraud in 2022" "'  seats_26_post = `" "Seats won by" "fraud in 2026" "') legend(off) offset(0) xscale(r(-.25 .15)) xlabel(-.2 -.1 0 .1)
graph export "brazil-correction.pdf", replace
graph export "brazil-correction.png", replace

coefplot (confidence_22_post, rename(inoculation="confidence_22_post")) (confidence_26_post, rename(inoculation="confidence_26_post")) (fraud_22_post, rename(inoculation="fraud_22_post")) (fraud_26_post, rename(inoculation="fraud_26_post")) (seats_22_post, rename(inoculation="seats_22_post")) (seats_26_post, rename(inoculation="seats_26_post")), keep(inoculation) grid(none) xline(0) scheme(lean1) xtitle("Treatment effect") coeflabel(confidence_22_post = `" "Confidence in" "2022 election" "' confidence_26_post = `" "Confidence in" "2026 election" "' fraud_22_post = `" "Fraud in" "2022 election" "' fraud_26_post = `" "Fraud in" "2026 election" "' seats_22_post =  `" "Seats won by" "fraud in 2022" "'  seats_26_post = `" "Seats won by" "fraud in 2026" "') legend(off) offset(0) xscale(r(-.25 .15)) xlabel(-.2 -.1 0 .1)
graph export "brazil-inoculation.pdf", replace
graph export "brazil-inoculation.png", replace

*combine + add t/f/diff as well

coefplot (confidence_22_post, drop(inoculation) rename(correction="confidence_22_post") offset(.1) msize(large) msymbol(Th)) (confidence_26_post, rename(correction="confidence_26_post") drop(inoculation) offset(.1) msize(large) msymbol(Th)) (fraud_22_post, drop(inoculation) rename(correction="fraud_22_post") offset(.1) msize(large) msymbol(Th)) (fraud_26_post, drop(inoculation) rename(correction="fraud_26_post") offset(.1) msize(large) msymbol(Th)) (seats_22_post, drop(inoculation) rename(correction="seats_22_post") offset(.1) msize(large) msymbol(Th)) (seats_26_post, drop(inoculation) rename(correction="seats_26_post") offset(.1) msize(large) msymbol(Th)) (confidence_22_post, drop(correction) rename(inoculation="confidence_22_post") offset(-.1) msize(large) msymbol(S)) (confidence_26_post, drop(correction) rename(inoculation="confidence_26_post") offset(-.1) msize(large) msymbol(S)) (fraud_22_post, drop(correction) rename(inoculation="fraud_22_post") offset(-.1) msize(large) msymbol(S)) (fraud_26_post, drop(correction) rename(inoculation="fraud_26_post") offset(-.1) msize(large) msymbol(S)) (seats_22_post, drop(correction) rename(inoculation="seats_22_post") offset(-.1) msize(large) msymbol(S)) (seats_26_post, drop(correction) rename(inoculation="seats_26_post") offset(-.1) msize(large) msymbol(S)), keep(correction inoculation) grid(none) xline(0) scheme(lean1) xtitle("Treatment effect") coeflabel(confidence_22_post = `" "Confidence in" "2022 election" "' confidence_26_post = `" "Confidence in" "2026 election" "' fraud_22_post = `" "Fraud in" "2022 election" "' fraud_26_post = `" "Fraud in" "2026 election" "' seats_22_post =  `" "Seats won by" "fraud in 2022" "'  seats_26_post = `" "Seats won by" "fraud in 2026" "') legend(lab(2 "Credible sources") lab(14 "Prebunking") order(2 14) rows(1) pos(6) size(vsmall) bmargin(small) region(lcolor(black) margin(small))) offset(0) xscale(r(-.25 .15)) xlabel(-.3 -.2 -.1 0 .1 .2) saving(bg1,replace) title("Voter confidence and fraud perceptions",size(*.8))
graph export "Figures/brazil-combined.pdf", replace
graph export "Figures/brazil-combined.png", replace

estout confidence_22_post confidence_26_post fraud_22_post fraud_26_post seats_22_post seats_26_post using "brazil-combined.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout confidence_22_post confidence_22_post_ldv confidence_22_post_noc confidence_26_post confidence_26_post_ldv confidence_26_post_noc using "brazil-combined-noc.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout fraud_22_post fraud_22_post_ldv fraud_22_post_noc fraud_26_post fraud_26_post_ldv fraud_26_post_noc seats_22_post seats_22_post_ldv seats_22_post_noc seats_26_post seats_26_post_ldv seats_26_post_noc using "brazil-combined-noc2.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout confidence_22_post_de confidence_26_post_de fraud_22_post_de fraud_26_post_de seats_22_post_de seats_26_post_de using "brazil-combined-de.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

/*H3: Exposure to a prebunking facts correction with inoculation instructions treatment will increase the perceived accuracy of the true claims it supports (H3a), reduce the perceived accuracy of the misperceptions it targets (H3b), and improve respondents' ability to distinguish between them (H3c) compared to the placebo condition.*/

/*RQ2: Will exposure to a credible source correction treatment increase the perceived accuracy of specific true claims (RQ2a), reduce the perceived accuracy of specific misperceptions (RQ2b), and improve respondents' ability to distinguish between them (RQ2c) compared to the placebo condition? (Note: These will be tested on the set of true and false claims targeted by the prebunking facts treatment to facilitate comparison with H3 and to mirror RQ3.)*/

/*RQ3: Will exposure to a prebunking facts correction with inoculation instructions treatment increase the perceived accuracy of the true claims it supports (RQ3a), reduce the perceived accuracy of the misperceptions it targets (RQ3b), and improve respondents' ability to distinguish between them (RQ3c) compared to exposure to a credible source correction treatment that does not target these specific misperceptions and true claims?*/

/*H3a/RQ2a: Targeted true = B0 + B1*prebunk + B2*correction + lasso controls
RQ3a: B1-B2*/

quietly lasso linear targeted_true_mean_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local targeted_true_mean_post_ctl=e(allvars_sel) 
reg targeted_true_mean_post correction inoculation `targeted_true_mean_post_ctl', robust
lincom correction
lincom inoculation
lincom correction-inoculation
est store targeted_true

reg targeted_true_mean_post correction inoculation targeted_true1_pre, robust
est store targeted_true_ldv
lincom correction-inoculation

reg targeted_true_mean_post correction inoculation, robust
est store targeted_true_noc
lincom correction-inoculation

reg targeted_true_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `targeted_true_mean_post_ctl', robust
est store A4
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg targeted_true_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter targeted_true_mean_pre, robust
est store A4_ldv

reg targeted_true_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store A4_noc

reg targeted_true_mean_post correction##c.targeted_true_mean_pre inoculation##c.targeted_true_mean_pre `targeted_true_mean_post_ctl', robust
reg targeted_true_mean_post correction##ib3.trueterc inoculation##ib3.trueterc `targeted_true_mean_post_ctl', robust
est store A6

reg targeted_true_mean_post correction##ib3.trueterc inoculation##ib3.trueterc, robust
est store A6_noc

reg targeted_true_mean_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `targeted_true_mean_post_ctl', robust
reg targeted_true_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc `targeted_true_mean_post_ctl', robust
est store A5

reg targeted_true_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc targeted_true_mean_pre, robust
est store A5_ldv

reg targeted_true_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc, robust
est store A5_noc

quietly lasso linear targeted_true_mean_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local targeted_true_mean_post_ctl=e(allvars_sel) 
reg targeted_true_mean_post correction inoculation `targeted_true_mean_post_ctl' if prior_submission==0, robust 
lincom correction-inoculation
est store targeted_true_de

reg targeted_true_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `targeted_true_mean_post_ctl' if prior_submission==0, robust
est store A4_de
reg targeted_true_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc `targeted_true_mean_post_ctl' if prior_submission==0, robust
est store A5_de
reg targeted_true_mean_post correction##ib3.trueterc inoculation##ib3.trueterc `targeted_true_mean_post_ctl' if prior_submission==0, robust
est store A6_de

/*H3b/RQ2b: Targeted false = B0 + B1*prebunk + B2*correction + lasso controls
RQ3b: B1-B2*/

quietly lasso linear targeted_false_mean_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local targeted_false_mean_post_ctl=e(allvars_sel) 
reg targeted_false_mean_post correction inoculation `targeted_false_mean_post_ctl', robust
lincom correction
lincom inoculation
lincom correction-inoculation
est store targeted_false

reg targeted_false_mean_post correction inoculation targeted_false_mean_pre, robust
est store targeted_false_ldv
lincom correction-inoculation

reg targeted_false_mean_post correction inoculation, robust
est store targeted_false_noc
lincom correction-inoculation

reg targeted_false_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `targeted_false_mean_post_ctl', robust
est store B4
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg targeted_false_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter targeted_false_mean_pre, robust
est store B4_ldv

reg targeted_false_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store B4_noc

reg targeted_false_mean_post correction##c.targeted_false_mean_pre inoculation##c.targeted_false_mean_pre `targeted_false_mean_post_ctl', robust
reg targeted_false_mean_post correction##ib1.falseterc inoculation##ib1.falseterc `targeted_false_mean_post_ctl', robust
est store B6

reg targeted_false_mean_post correction##ib1.falseterc inoculation##ib1.falseterc, robust
est store B6_noc

reg targeted_false_mean_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `targeted_false_mean_post_ctl', robust
reg targeted_false_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc `targeted_false_mean_post_ctl', robust
est store B5

reg targeted_false_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc targeted_false_mean_pre, robust
est store B5_ldv

reg targeted_false_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc, robust
est store B5_noc

quietly lasso linear targeted_false_mean_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local targeted_false_mean_post_ctl=e(allvars_sel) 
reg targeted_false_mean_post correction inoculation `targeted_false_mean_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store targeted_false_de

reg targeted_false_mean_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `targeted_false_mean_post_ctl' if prior_submission==0, robust
est store B4_de
reg targeted_false_mean_post correction##ib1.bolsterc inoculation##ib1.bolsterc `targeted_false_mean_post_ctl' if prior_submission==0, robust
est store B5_de
reg targeted_false_mean_post correction##ib1.falseterc inoculation##ib1.falseterc `targeted_false_mean_post_ctl' if prior_submission==0, robust
est store B6_de

/*H3c/RQ2c: Mean true - mean false = B0 + B1*prebunk + B2*correction + lasso controls
RQ3c: B1-B2*/

quietly lasso linear diff_targeted_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local diff_targeted_post_ctl=e(allvars_sel) 
reg diff_targeted_post correction inoculation `diff_targeted_post_ctl', robust
lincom correction
lincom inoculation
lincom correction-inoculation
est store diff_targeted_post	

reg diff_targeted_post correction inoculation diff_targeted_pre, robust
est store diff_targeted_post_ldv	
lincom correction-inoculation

reg diff_targeted_post correction inoculation, robust
est store diff_targeted_post_noc	
lincom correction-inoculation

quietly lasso linear diff_targeted_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local diff_targeted_post_ctl=e(allvars_sel) 
reg diff_targeted_post correction inoculation `diff_targeted_post_ctl' if prior_submission==0, robust
lincom correction-inoculation
est store diff_targeted_post_de

coefplot (targeted_true,drop(inoculation) rename(correction="true") offset(.1) msize(large) msymbol(Th)) (targeted_false, drop(inoculation) rename(correction="false") offset(.1) msize(large) msymbol(Th)) (diff_targeted_post, drop(inoculation) rename(correction="discern") offset(.1) msize(large) msymbol(Th)) (targeted_true,drop(correction) rename(inoculation="true") offset(-.1) msize(large) msymbol(S)) (targeted_false, drop(correction) rename(inoculation="false") offset(-.1) msize(large) msymbol(S)) (diff_targeted_post, drop(correction) rename(inoculation="discern") offset(-.1) msize(large) msymbol(S)), keep(correction inoculation) grid(none) xline(0) scheme(lean1) xtitle("Treatment effect (perceived accuracy)") coeflabel(true  = "True statements" false = "False statements" discern = "Difference (T-F)") legend(lab(2 "Credible sources") lab(8 "Prebunking") order(2 8) pos(3) ring(0) region(lstyle(foreground))) offset(0) xscale(r(-.25 .1)) xlabel(-.3 -.2 -.1 0 .1 .2 .3 .4 .5) saving(bg2,replace)  title("Factual beliefs",size(*.8))
graph export "Figures/discern-combined-brazil.pdf", replace
graph export "Figures/discern-combined-brazil.png", replace

grc1leg bg1.gph bg2.gph, rows(1) legendfrom(bg1.gph) 
graph export "Figures/figure3.pdf", replace

estout targeted_true targeted_false diff_targeted_post using "discern-combined.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout targeted_true targeted_true_ldv targeted_true_noc targeted_false targeted_false_ldv targeted_false_noc diff_targeted_post diff_targeted_post_ldv diff_targeted_post_noc using "discern-combined-controls.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout targeted_true_de targeted_false_de diff_targeted_post_de using "discern-combined-de.tex", keep(correction inoculation) label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

quietly lasso linear diff_targeted_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local diff_targeted_post_ctl=e(allvars_sel) 

reg diff_targeted_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `diff_targeted_post_ctl', robust
est store C4
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg diff_targeted_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter diff_targeted_pre, robust
est store C4_ldv

reg diff_targeted_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter, robust
est store C4_noc

reg diff_targeted_post correction##c.diff_targeted_pre inoculation##c.diff_targeted_pre `diff_targeted_post_ctl', robust
reg diff_targeted_post correction##ib3.diffterc inoculation##ib3.diffterc `diff_targeted_post_ctl', robust
est store C6

reg diff_targeted_post correction##ib3.diffterc inoculation##ib3.diffterc, robust
est store C6_noc

reg diff_targeted_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `diff_targeted_post_ctl', robust
reg diff_targeted_post correction##ib1.bolsterc inoculation##ib1.bolsterc `diff_targeted_post_ctl', robust
est store C5

reg diff_targeted_post correction##ib1.bolsterc inoculation##ib1.bolsterc diff_targeted_pre, robust
est store C5_ldv

reg diff_targeted_post correction##ib1.bolsterc inoculation##ib1.bolsterc, robust
est store C5_noc

quietly lasso linear diff_targeted_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local diff_targeted_post_ctl=e(allvars_sel) 

reg diff_targeted_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `diff_targeted_post_ctl' if prior_submission==0, robust
est store C4_de
reg diff_targeted_post correction##ib1.bolsterc inoculation##ib1.bolsterc `diff_targeted_post_ctl' if prior_submission==0, robust
est store C5_de
reg diff_targeted_post correction##ib3.diffterc inoculation##ib3.diffterc `diff_targeted_post_ctl' if prior_submission==0, robust
est store C6_de

quietly lasso linear ratio_targeted_post college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local ratio_targeted_post_ctl=e(allvars_sel) 
reg ratio_targeted_post correction inoculation `ratio_targeted_post_ctl', robust
lincom correction
lincom inoculation
lincom correction-inoculation
est store ratio_targeted_post

reg ratio_targeted_post correction inoculation ratio_targeted_pre, robust
est store ratio_targeted_post_ldv
lincom correction-inoculation

reg ratio_targeted_post correction inoculation, robust
lincom correction-inoculation
est store ratio_targeted_post_noc

reg ratio_targeted_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `ratio_targeted_post_ctl', robust
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

reg ratio_targeted_post correction##c.ratio_targeted_pre inoculation##c.ratio_targeted_pre `ratio_targeted_post_ctl', robust
reg ratio_targeted_post correction##ratioterc inoculation##ratioterc `ratio_targeted_post_ctl', robust
reg ratio_targeted_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `ratio_targeted_post_ctl', robust
reg ratio_targeted_post correction##bolsterc inoculation##bolsterc `ratio_targeted_post_ctl', robust

/*These analyses will be estimated using means at the respondent level per above but we will verify that the conclusions are robust to a specification at the item level in which we cluster by respondent and item. Per Guay et al. N.d., we will also estimate a version of the third model in which the outcome is the ratio of true/false belief accuracy rather than the difference. This model will be estimated using a quasi-poisson or other log link model instead of OLS.*/

glm ratio_targeted_post correction inoculation `ratio_targeted_post_ctl', robust link(log) family(gauss)
est store C7
lincom correction
lincom inoculation
lincom correction-inoculation
est store ratio_targeted_post	

glm ratio_targeted_post correction inoculation ratio_targeted_pre, robust link(log) family(gauss)
est store ratio_targeted_post_ldv
lincom correction-inoculation

glm ratio_targeted_post correction inoculation, robust link(log) family(gauss)
lincom correction-inoculation
est store ratio_targeted_post_noc

estout C7 using "brazil-log-link-factual.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout ratio_targeted_post ratio_targeted_post_ldv ratio_targeted_post_noc using "brazil-log-link-factual-covar.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

glm ratio_targeted_post correction inoculation `ratio_targeted_post_ctl' if prior_submission==0, robust link(log) family(gauss)
est store C7de
estout C7de using "brazil-log-link-factual-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

glm ratio_targeted_post correction##PTsupporter correction##PLsupporter inoculation##PTsupporter inoculation##PLsupporter `ratio_targeted_post_ctl', robust link(log)
lincom 1.correction
lincom 1.correction+1.correction#1.PTsupporter
lincom 1.correction+1.correction#1.PLsupporter
lincom 1.inoculation
lincom 1.inoculation+1.inoculation#1.PTsupporter
lincom 1.inoculation+1.inoculation#1.PLsupporter

glm ratio_targeted_post correction##c.ratio_targeted_pre inoculation##c.ratio_targeted_pre `ratio_targeted_post_ctl', robust link(log)
glm ratio_targeted_post correction##ratioterc inoculation##ratioterc `ratio_targeted_post_ctl', robust link(log)
glm ratio_targeted_post correction##c.bolsonaroFT inoculation##c.bolsonaroFT `ratio_targeted_post_ctl', robust link(log)
glm ratio_targeted_post correction##bolsterc inoculation##bolsterc `ratio_targeted_post_ctl', robust link(log)

preserve

rename targeted_false1_post target1
rename targeted_false2_post target2
rename targeted_true1_post target3
rename targeted_true2_post target4

reshape long target, i(ResponseId) j(claim)
gen false=(claim<3)

gen target_pre=.
replace target_pre=targeted_false1_pre if claim==1
replace target_pre=targeted_false1_pre if claim==2
replace target_pre=targeted_false1_pre if claim==3
replace target_pre=targeted_false1_pre if claim==4

quietly lasso linear target college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre target_pre, rseed(1234)
local target_ctl=e(allvars_sel) 
reg target correction##false inoculation##false `target_ctl', cluster(ResponseId)
lincom 1.correction#1.false-1.inoculation#1.false

reg target correction##false##PTsupporter correction##false##PLsupporter inoculation##false##PTsupporter inoculation##false##PLsupporter `target_ctl', robust
reg target correction##false##c.target_pre inoculation##false##c.target_pre `target_ctl', robust
reg target correction##false##i.target_pre inoculation##false##i.target_pre `target_ctl', robust
reg target correction##false##c.bolsonaroFT inoculation##false##c.bolsonaroFT `target_ctl', robust
reg target correction##false##bolsterc inoculation##false##bolsterc `target_ctl', robust

vcemway reg target correction##false inoculation##false `target_ctl', cluster(ResponseId claim)
est store target
estout target using "brazil-factual-item-level.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 
lincom 1.correction#1.false-1.inoculation#1.false

vcemway reg target correction##false inoculation##false target_pre, cluster(ResponseId claim)
est store target_ldv

vcemway reg target correction##false inoculation##false, cluster(ResponseId claim)
est store target_noc

estout target target_ldv target_noc using "brazil-factual-item-level-control.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 
lincom 1.correction#1.false-1.inoculation#1.false

vcemway reg target correction##false inoculation##false `target_ctl' if prior_submission==0, cluster(ResponseId claim)
est store target
estout target using "brazil-factual-item-level-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 
lincom 1.correction#1.false-1.inoculation#1.false

vcemway reg target correction##false##PTsupporter correction##false##PLsupporter inoculation##false##PTsupporter inoculation##false##PLsupporter `target_ctl', cluster(ResponseId claim)
vcemway reg target correction##false##c.target_pre inoculation##false##c.target_pre `target_ctl', cluster(ResponseId claim)
vcemway reg target correction##false##i.target_pre inoculation##false##i.target_pre `target_ctl', cluster(ResponseId claim)
vcemway reg target correction##false##c.bolsonaroFT inoculation##false##c.bolsonaroFT `target_ctl', cluster(ResponseId claim)
vcemway reg target correction##false##bolsterc inoculation##false##bolsterc `target_ctl', cluster(ResponseId claim)

restore 
	
estout A4 B4 C4 using "brazil-party-interactions-factual.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A4 A4_ldv A4_noc B4 B4_ldv B4_noc C4 C4_ldv C4_noc using "brazil-party-interactions-factual-covar.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A4_de B4_de C4_de using "brazil-party-interactions-factual-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A5 B5 C5 using "brazil-bolsonaro-interactions-factual.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A5 A5_ldv A5_noc B5 B5_ldv B5_noc C5 C5_ldv C5_noc using "brazil-bolsonaro-interactions-factual1.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 
	
estout A5_de B5_de C5_de using "brazil-bolsonaro-interactions-factual-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A6 B6 C6 using "brazil-outcome-interactions-factual.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A6 A6_noc B6 B6_noc C6 C6_noc using "brazil-outcome-interactions-factual1.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

estout A6_de B6_de C6_de using "brazil-outcome-interactions-factual-de.tex", label style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** .005) 

/*RQ4a: Is there a difference in the effect of the credible source correction treatment on confidence in the 2022 election and beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2022 election versus its effects on confidence in the 2026 election and beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2026 election?*/

/*RQ4b: Is there a difference in the effect of the prebunking facts correction with inoculation instructions treatment on confidence in the 2022 election and beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2022 election versus its effects on confidence in the 2026 election and beliefs about the prevalence and effects of fraud (frequency of voter fraud, the number of seats changed by fraud) in the 2026 election?*/

/*RQ4a/b are "pooled" in the sense that the data will be stacked (long form) with two observations per respondent - one with their 2022 outcome and one with their 2026 outcome. These analyses will be clustered by respondent.*/

/*RQ4a/RQ4b: Confidence in vote (pooled 2022 and 2026): B0 + B1*correction + B2*prebunk + B3*2026 + B4*correctionX2026 + B5*prebunkX2026 + lasso controls*/

preserve

rename confidence_22_post conf1
rename confidence_26_post conf2

reshape long conf, i(ResponseId) j(year)
gen y26=(year==2)

gen conf_pre=.
replace conf_pre=confidence_22_pre if year==1
replace conf_pre=confidence_26_pre if year==2

gen confpreterc=.
replace confpreterc=conf22terc if year==1
replace confpreterc=conf26terc if year==2

quietly lasso linear conf college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local conf_ctl=e(allvars_sel) 
reg conf correction##y26 inoculation##y26 `conf_ctl', robust cluster(ResponseId)
est store conf2226

reg conf correction##y26 inoculation##y26 conf_pre, robust cluster(ResponseId)
est store conf2226_ldv

reg conf correction##y26 inoculation##y26, robust cluster(ResponseId)
est store conf2226_noc

quietly lasso linear conf college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
reg conf correction##y26 inoculation##y26 `conf_ctl' if prior_submission==0, robust cluster(ResponseId)
est store conf2226_de

restore

/*RQ4a/RQ4b: Fraud prevalence (pooled 2022 and 2026): B0 + B1*correction + B2*prebunk + B3*2026 + B4*correctionX2026 + B5*prebunkX2026 + lasso controls*/

preserve

rename fraud_22_post fraud1
rename fraud_26_post fraud2

reshape long fraud, i(ResponseId) j(year)
gen y26=(year==2)

gen fraud_pre=.
replace fraud_pre=fraud_22_pre if year==1
replace fraud_pre=fraud_26_pre if year==2

gen fraudpreterc=.
replace fraud_pre=fraud22terc if year==1
replace fraud_pre=fraud26terc if year==2

quietly lasso linear fraud college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local fraud_ctl=e(allvars_sel) 
reg fraud correction##y26 inoculation##y26 `fraud_ctl', robust cluster(ResponseId)
est store fraud2226

reg fraud correction##y26 inoculation##y26 fraud_pre, robust cluster(ResponseId)
est store fraud2226_ldv

reg fraud correction##y26 inoculation##y26, robust cluster(ResponseId)
est store fraud2226_noc

quietly lasso linear fraud college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local fraud_ctl=e(allvars_sel) 
reg fraud correction##y26 inoculation##y26 `fraud_ctl' if prior_submission==0, robust cluster(ResponseId)
est store fraud2226_de

restore

/*RQ4a/RQ4b: Seats changed (pooled 2022 and 2026): B0 + B1*correction + B2*prebunk + B3*2026 + B4*correctionX2026 + B5*prebunkX2026 + lasso controls*/

preserve

rename seats_22_post seats1
rename seats_26_post seats2

reshape long seats, i(ResponseId) j(year)
gen y26=(year==2)

gen seats_pre=.
replace seats_pre=seats_22_pre if year==1
replace seats_pre=seats_26_pre if year==2

quietly lasso linear seats college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre, rseed(1234)
local seats_ctl=e(allvars_sel) 
reg seats correction##y26 inoculation##y26 `seats_ctl', robust cluster(ResponseId)
est store seats2226
 
reg seats correction##y26 inoculation##y26 seats_pre, robust cluster(ResponseId)
est store seats2226_ldv

reg seats correction##y26 inoculation##y26, robust cluster(ResponseId)
est store seats2226_noc

quietly lasso linear seats college i.agegroup male i.regionnum PTsupporter PLsupporter conspiracy polknow nonwhite polinterest mediatrust seats_22_pre seats_26_pre fraud_22_pre fraud_26_pre confidence_22_pre confidence_26_pre targeted_true_mean_pre targeted_false_mean_pre diff_targeted_pre if prior_submission==0, rseed(1234)
local seats_ctl=e(allvars_sel) 
reg seats correction##y26 inoculation##y26 `seats_ctl' if prior_submission==0, robust cluster(ResponseId)
est store seats2226_de

estout conf2226 fraud2226 seats2226 using "yeardiffs2226.tex", label keep(1.corr* 1.inoc* 1.y2*) style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** 0.005)

estout conf2226 conf2226_ldv conf2226_noc fraud2226 fraud2226_ldv fraud2226_noc seats2226 seats2226_ldv seats2226_noc using "yeardiffs2226-covar.tex", label keep(1.corr* 1.inoc* 1.y2*) style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** 0.005)

estout conf2226_de fraud2226_de seats2226_de using "yeardiffs2226_de.tex", label keep(1.corr* 1.inoc* 1.y2*) style(tex) replace varwidth(25) collabels("") cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) stats(N, fmt(%9.0f) labels("N")) starlevels(* 0.05 ** 0.01 *** 0.005)

restore

*(All means will be calculated as the mean of answered items. We will verify that these items scale as a composite measure using principal components factor analysis. If they do not scale together, we will analyze them separately (as separate composite measures and/or individual outcome measures). If we analyze one or more composite measures, we will also report results separately for each dependent variable included in the composite measure(s) in the appendix. We may rescale scales to alternate ranges such as 0-1 for expositional reasons.)

*substantive effects

gen binary_confidence_22_post=(confidence_22_post>2.5 & confidence_22_post!=.)
gen binary_confidence_26_post=(confidence_26_post>2.5 & confidence_26_post!=.)
gen binary_targeted_false_mean_post=(targeted_false_mean_post>2.5 & targeted_false_mean_post!=.)

bysort correction inoculation: tab binary_confidence_22_post
bysort correction inoculation: tab binary_confidence_26_post
bysort correction inoculation: tab binary_targeted_false_mean_post

gen bols3=(bolsterc==3)

bysort bols3 correction inoculation: tab binary_confidence_22_post
bysort bols3 correction inoculation: tab binary_confidence_26_post
bysort bols3 correction inoculation: tab binary_targeted_false_mean_post

log close
